﻿using System.ComponentModel;
using Mesuro.Common;
using System;
using System.Linq;

namespace Mesuro.Graphing {

	public class ScaleCollection<TScale> where TScale : IScale {
		private TScale[] scales;
		public virtual int Dimensions { get { return scales.Length; } }
		public virtual TScale this[int idx] { get { return scales[idx]; } }

		public ScaleCollection( params TScale[] scales ) {
			this.scales = scales;
		}

		public static explicit operator ScaleCollection<TScale>( TScale[] scales ) {
			return new ScaleCollection<TScale>( scales );
		}

	}
}
